package com.gitee.wsl.platform

expect val process:Process

internal val defaultProcess:Process = object :Process{}

/**
 * CPU Architecture
 */
//enum class Arch {
//    UNKNOWN,
//    X64,
//    X86,
//    ARM_X64,
//    ARM_X32,
//}

interface Process {

    val activeCount:Int
        get() = 1
    /**
     * Immediately exit the process with the given [status] code.
     *
     * On browsers, where it's not possible to exit the process, this function is a no-op.
     */
    fun exitProcess(status: Int){}

    companion object:Process{
        override val activeCount: Int
            get() = process.activeCount

        override fun exitProcess(status: Int) {
            process.exitProcess(status)
        }
    }
}